home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / fm.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-09-03  |  1.6 KB  |  86 lines

  1. 10  REM SUBCARRIER SIDEBAND AMPLITUDES
  2. 20  REM ROTH )BROMLEY )TONNE)CHIP)
  3. 30  REM
  4. 40  REM
  5. 50  DIM A$(70),B$(70),C$(70)
  6. 60  LET A$=" ###     ###.##     ###.##    ###.##    ----.##"
  7. 70  LET B$=" ###     ###.##     ###.##    ###.##    ----.##"
  8. 80   LET C$="   0                    ###.##          ----.##"
  9. 90  PRINT
  10. 100  INPUT "SUBCARRIER FREQ (KHZ):  ";F1
  11. 110  INPUT "MODULATING RATE (KHZ):  ";F2
  12. 120  INPUT "PEAK DEVIATION: ";F3
  13. 130  INPUT "MAXIMUM DB: ";C
  14. 140  CLS
  15. 150  PRINT
  16. 160  PRINT
  17. 170  PRINT "CARRIER:";F1;"  MODULATION:";F2;"  DEVIATION:";F3;"
  18. 180  PRINT
  19. 190  PRINT "ORDER:   DELTA:    LOWER:    UPPER:    LEVEL:"
  20. 200  LET W=F3/F2
  21. 210  LET B=0
  22. 220  FOR P=0 TO 100
  23. 230  LET L=0
  24. 240  LET T=0
  25. 250  LET U=0
  26. 260  GOSUB 820
  27. 270  LET F=J
  28. 280   LET K=(3.14159-U)/4
  29. 290  LET N=0
  30. 300  LET T=U+K
  31. 310  GOSUB 820
  32. 320  LET H=F+4*J
  33. 330  LET T=T+K
  34. 340  GOSUB 820
  35. 350  LET R=J
  36. 360  LET H=H+2*R
  37. 370  LET T=T+K
  38. 380  GOSUB 820
  39. 390  LET H=H+4*J
  40. 400  LET T=T+K
  41. 410  GOSUB 820
  42. 420  LET G=J
  43. 430  LET H=H+G
  44. 440  LET R=8*R+2*(F+G)-H
  45. 450  IF ABS(R)<0.000999999 THEN GOTO 490
  46. 460  LET K=0.5*K
  47. 470  LET N=1
  48. 480  GOTO 300
  49. 490  LET U=T
  50. 500  LET F=G
  51. 510  LET L=K*(H-R/15)+L
  52. 520  IF N=0 THEN GOTO 570
  53. 530  IF ABS(R)>9.99E-07 THEN GOTO 550
  54. 540  LET K=2*K
  55. 550  IF SGN(3.14159-U-4*K)><SGN(K)THEN GOTO 280
  56. 560  GOTO 300
  57. 570  LET M=L/3
  58. 580  LET D=20*LOG(ABS(M))/LOG(10)
  59. 590  IF ABS(D)<C THEN GOTO 650
  60. 600  LET D1=D
  61. 610  LET P1=P
  62. 620  LET B=B+1
  63. 630  IF B=2 THEN GOTO 790
  64. 640  GOTO 780
  65. 650  IF B=0 THEN GOTO 710
  66. 660  IF F1-P1*F2>0THEN GOTO 690
  67. 670  PRINT USING B$;P1;P1*F2;F1-P1*F2;F1+P1*F2;D1
  68. 680  GOTO 700
  69. 690  PRINT USING A$;P1;P1*F2;F1-P1*F2;F1+P1*F2;D1
  70. 700  LET B=0
  71. 710  IF F1-P*F2>0THEN GOTO 740
  72. 720  PRINT USING B$;P;P*F2;F1-P*F2;F1+P*F2;D
  73. 730  GOTO 780
  74. 740  IF P>0THEN GOTO 770
  75. 750  PRINT USING C$;F1;D
  76. 760  GOTO 780
  77. 770  PRINT USING A$;P;P*F2;F1-P*F2;F1+P*F2;D
  78. 780  NEXT P
  79. 790  PRINT
  80. 800  PRINT "-----"
  81. 810  GOTO 100
  82. 820  REM INTEGRAND:
  83. 830  LET J=COS(W*SIN(T)-P*T)/3.14159
  84. 840  RETURN
  85. 850  END
  86.